Method and apparatus for controlling the operation of an operating system and application programs by ocular control

ABSTRACT

The method and apparatus object of this invention refer to a system for using generic software applications by means of ocular control characterized by simple interaction techniques which minimize the cognitive effort of the user required to manipulate the software and which permit to overcome the problems resulting from the intrinsic problem of accuracy of eye-tracking systems. Indeed, such technique does not provide using the pointer of the mouse moved by means of the gaze to control the various software applications but to use a separate application which through the use of suitable interaction techniques is comfortable and does not involve an increased effort of concentration by the user. An attempt has indeed been made to simplify the process of interaction between the user and machine also by means of the use of visual feedback which allows the same operations of the mouse to be performed by the user without the typical user frustration due to the problems of accuracy of the eye-tracking device.

CROSS REFERENCE TO RELATED APPLICATION

This application claims benefit under 35 U.S.C. §371 to internationalapplication No. PCT/IB2010/002271, filed on Sep 13, 2010, which claimspriority to Italian application no. FI2009A000198, filed Sep. 11, 2009,the contents of which are incorporated by reference in their entirety.

FIELD OF THE INVENTION

The present invention refers to the field of systems and methods for thecontrol of generic software applications by means of eye-trackingdevices, i.e. by using ocular movements.

Not having the opportunity to use the mouse for access to the softwareapplications, the user should take advantage of the techniques whichpermit him/her to carry out, by means of ocular movements, the sameoperations which are possible to carry out with the mouse. To this end,techniques and contrivances have been developed which permit the user tosignificantly decrease the cognitive effort to be performed.

STATE OF THE ART

The tracking of the ocular movements potentially offers the user thepossibility of controlling the software of a personal computer by simplylooking at the display thereof.

However, there are problems which frustrate the user during the use ofthe tracking systems of ocular movements—or eye-tracking systems—forcontrolling the software of a personal computer. In particular, the eyesshould simultaneously behave as input and output devices, i.e. theyshould explore and carry out true actions. Again, the eye-trackingdevices suffer intrinsic problems of accuracy in measuring the positionof the gaze on the screen. Therefore, the accuracy of the sensor isalways affected by an error (the difference between the current positionof the cursor on the display compared with the position of the cursorwanted by the user) and this does not make controlling most of thesoftware applications easy, given that many software programs require anaccuracy of some millimeters, and others also require an accuracyassessable in terms of pixels.

Thus the use of eye-tracking systems is generally limited to softwaremade specifically for disabled users in which a low pointing precisionis required. Indeed, the user should make his/her selection from a listof relatively large cells in which the effect of the error of accuracyis small.

Instead, in the field of software applications of common use, theemployment of eye-tracking systems for controlling the application, e.g.by means of the movement of the cursor which is updated many times persecond by following the direction of the gaze, the error of accuracymakes the user's task very difficult, to whom a significant effort ofconcentration is required, which very soon generates fatigue.

Any attempt by the user to correct the error by re-directing his/hergaze towards the position where the cursor should be positioned doesnothing more than making the use of the cursor increasingly problematicand tiring.

Some solutions in use in the state of the art provide resolving theaforesaid problem by means of enlarging a part of the display of thepersonal computer, so as to improve the accuracy in the positioning ofthe cursor.

However, this approach is insufficient because the error of compensationalso remains in these cases, thus continuing to frustrate the user, andmoreover implies an increased complexity of the interface which maycreate confusion and distraction.

Other solutions currently available imply the appearance of “off-screen”menus which permit the user to select which action to carry out byemulating the different operations which may be carried out with themouse (single click, double click, right click, drag and drop).

Again, in some cases, the functions wanted may be activated by pointingthe gaze on icons arranged on strips of thin plastic-coated cardboardwhich are positioned on the vertical perimeter of the monitor: therebythe eye should select the functions external thereto before activatingthem on the icon or on the function wanted and then move the cursorwhich will be steered by the gaze towards the icons or applicationswanted.

In further other cases, it is also possible to steer a second PC,connected with the eye-tracking system, whose monitor should beinstalled beside the monitor of the eye-tracker to give the user theopportunity to easily observe the control of the mouse over theapplications.

The directions of the mouse pointer are activated with the gaze on thescreen view on the monitor of the eye-tracking device and once thedirection is selected the effect is observed on the other PC; as soon asthe gaze is removed from the PC wanted to be controlled, the pointerstops and the commands wanted may be selected. Thereby, the second PCconnected may be steered with the eye-tracking system, by means of theemulation of the mouse.

In principle, we may assert that, contrarily to what has beenimplemented to date, it would be desirable to have a display on whichthe elements depicted do not interfere too much with the normal use ofthe software for the following reasons: the attention of the userdeclines exponentially with the increasing number of elements depictedon the screen, the user normally has little familiarity with theeye-tracking devices and moreover may be affected by cognitivedisabilities such as to make the use of an eye-tracking deviceprohibitive.

For the aforesaid reasons, it is the object of the present invention toprovide a method for controlling a personal computer by means of aneye-tracking system which overcomes the drawbacks listed above.

One of the main requirements remains that of minimizing the cognitiveeffort required to manipulate the software by ensuring that theinterface accepts “natural” inputs and responds “naturally” and iseasily comprehensible.

For this reason it will be necessary to develop an interface which usesinteraction techniques which are not stressful for the user. Given thatmany of the inputs are unintentional, the system should interpret themcorrectly without producing unrequested responses caused by involuntaryactions. Such system therefore should be capable of distinguishingbetween the true will of the user while letting him/her observe theinterface peacefully if it is not his/her intention to give a command;on the other hand the user should be capable of assessing what thecurrent status of the system is, so as to realize if his/her intentionswere interpreted properly, to avoid the execution of involuntarycommands.

It should also be underlined that while the systems of the state of theart control operating systems by means of the emulation of the mouse viaocular control (conversion of the movement of the gaze into movement ofthe cursor), the object of the present invention provides a new mappingof the “original” native interactors of the operating system of thepersonal computer (icons, etc.) in new interactors modified and madesuitable to the selection mode by means of ocular control.

Therefore the present invention establishes a sort of “direct channel”,as the emulation of the cursor is overcome by the fact that the nativeinteractors are replaced by those modified and adapted to the need touse the gaze as input system.

Also, the use of a Virtual Machine, which permits to manage and create avirtual environment to carry out a further operating system with relatedsoftware applications and which the user may use simultaneously to theone started, provides further advantages. One of them is security: avirtual machine is completely isolated and independent and a suddencrash of the virtual machine does not involve the hosting operatingsystem to crash; therefore restarting the computer is not required butonly terminating the virtual machine and starting it again whileavoiding damaging e.g. the file system.

As the method according to the present invention is integrated in acommunication suite, by using the virtual machine it is possible tosimply, quickly and safely move (by means of suspension of the virtualmachine) from using the classic PC applications, by means of the controltechniques described below, to the communication suite designedspecifically for being used via ocular control, thus overcoming theproblems of the systems in the state of the art which provide rathercomplicated procedures for moving from one mode to the other.

At the same time, the user may directly choose, by means of suitableshortcuts, to carry out some predefined applications inside thecommunication suite thus overcoming the problem of the possible directexecution from the operating system.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows the block diagram of the architecture of the method inaccordance with the present invention.

FIG. 2 shows the flow diagram of the method according to the presentinvention.

FIG. 3 shows the flow diagram of the module relating to filtering therough data coming from the eye-tracking device.

FIG. 4 shows the flow diagram relating to the Application ControlModule.

FIG. 5 shows the flow diagram relating to the Coordinate Mapping Module.

FIG. 6 shows the flow diagram relating to the data recovery strategiesrelating to the interactors in the screen views.

FIGS. 7-10 show, by way of non-limiting example, a possibleimplementation of the graphic interface of the application object of thepresent invention.

SUMMARY OF THE INVENTION

The object of the present invention consists of a method and anapparatus for using a generic operating system and generic softwareapplications connected thereto, by means of ocular control. A furtherobject of the present invention consists of suitable methods ofinteraction developed by means of interaction techniques and anintuitive and easy-to-use user interface as described in the claimswhich form an integral part of the present description.

The method object of the present invention therefore depicts a possibleimplementation of an assistive technology, extremely innovative in termsof control of a generic operating system and of the applicationsconnected thereto, based on the use of alternative and natural inputs,such as the gaze.

DETAILED DESCRIPTION OF THE INVENTION

In a preferred embodiment of the present invention, the apparatus objectof the present invention comprises electronic means of data and ofinformation processing, means for memorizing said data and informationand user interfacing means.

Said electronic data and information processing means comprise asuitable control section, preferably based on at least amicro-processor, and may, e.g., be provided by a personal computer.

Said memorizing means preferably comprise hard disks and storage devicesof flash type. Said user interfacing means preferably comprise datavisualising means, such as e.g. displays, monitors or analogous externaloutput units and eye-tracking devices adapted to interpret the directionof the user's gaze.

Said micro-processor is preferably equipped with an operating system,with a suitable virtual environment by means of the use of a virtualmachine and by a suitable software program which implements a methodwhose architecture, described in FIG. 1, comprises the followingmodules, in turn comprising a series of instructions adapted toperforming a specific task: a filtering module 10 in which thecoordinates of the user's gaze are processed so as to make the roughdata coming from the used eye-tracking device more stable; a module,namely an Operating System/Applications Control 11, responsible forcontrolling the operating system and the applications associatedtherewith and for running the developing application graphic interfaces,interface which contains the information about the interactors in thescreen view and carries out the native action associated with theinteractor fixed by the user at that moment, said interactors being theactivatable elements in the interface: the icons, the pop-down menus,the check boxes etc., adapted to make the user carry out actions on theapplications program to be controlled.

Said Operating System/Applications Control Module 11 is formed by twocomponent sub-modules: a Controller Module 12 and a Client Module 13.

Said Controller Module 12 is in charge of managing the presentation ofthe interactors and of defining the native action associated with eachof them and in turn comprises three further modules which interact witheach other:

a Coordinate Mapping Module 12A which is in charge of carrying out newmapping of the coordinates relating to the screen views and to theinteractors therein (different between Client and Controller);

an Interactor Managing Module 12B which is in charge of carrying out thecomparison with the incoming gaze to define which interactors are fixedby the user and presents them, suitably and possibly modified, on theinterface, e.g. on a side panel;

a Native Action Definition Module 12C which is in charge of defining thenative action associated with each interactor of the Operating Systemand of sending it to said Client Module 13, thus making it available forsuccessive processing.

Said Coordinate Mapping Module 12A in turn consists of two sub-moduleswhich interact with each other: a Coordinates Translation Sub-Module 14which carries out a translation of the coordinates relating to screenviews and interactors and an Adaptive Calibration Sub-Module 15 whichcarries out a further re-adjustment of the coordinates by means ofgeometrical deformation of the plane obtained by comparing theinformation on the interactors which the user may select and thecoordinates of the gaze coming from the eye-tracker, the results of thecombined actions of these 2 modules is the one described aboveconcerning the Coordinates Mapping Module 12A.

Said Client Module 13 is adapted to defining the position and thefunction of the interactors in the screen view and in turn comprises twofurther modules which interact with each other: the Interface ManagingModule 13A which is in charge of analysing the screen views and sendingthe information relating thereto and to the present interactors,detected by means of different search methods, to the Controller Module12; the Native Action Managing Module 13B which is in charge ofreceiving the information relating to the associated native action andof carrying it out as action on said operating system.

In reference to FIG. 2, there is shown a diagram which depicts theoperation of the modules mentioned above and the interconnections witheach other by illustrating the steps of the method according to thepresent invention:

-   -   a) On said data visualising means associated with said data        processing means, a control user interface adapted to permit the        user to control the operating system and the application        programs associated therewith of said electronic processing        means are visualised 20.    -   b) The coordinates of the user's gaze in the form of rough data,        i.e. of samples relating to the coordinates of the gaze of the        two separate eyes, which are subject to strong oscillations, are        detected by the eye-tracking device 21, comprised in said user        interfacing means. These oscillations generally occur about a        certain position, but there are also some gazes which are        totally erroneous and should be eliminated by means of a        filtering operation.    -   c) Said rough data are filtered 22 so as to make them stable and        suitable for providing indications on the fixations of the user,        i.e. on the number of gazes of the user within certain        surroundings.    -   d) The filtered data expressed in x, y coordinates of the fixed        point are sent 23 to the Operating System/Applications Control        Module 11 which processes them by defining the action to be        carried out and the modifications to be made on said user        interface.    -   e) The action to be carried out determined by the previous step        is performed 23 and, possibly, said control user interface is        suitably modified following the action itself.    -   f) The sequence is repeated starting from step b) until the user        decides to leave the application program which he/she is using.

The filtering procedure of rough data according to step c) is carriedout according to the sequence indicated below and illustrated in FIG. 3:

-   -   g) A pre-filtering 30 of the rough data is performed and the        non-valid samples are detected and eliminated using, e.g.,        statistical criteria.    -   h) The coordinates of the gaze of the right eye and of the left        eye are combined 31 in a point deemed probable of being the one        fixed by the user.    -   i) The average and the standard deviation are calculated 32 with        respect to the number of samples wanted (defined based on the        number of samples which were decided a priori to take into        consideration).    -   j) The tolerances are defined 33 for the evaluations.    -   k) The acceptable data are discriminated 34 with respect to        those to be rejected based on what was established in the        previous steps i) and j).

The filtered data sent to the Operating System/Applications ControlModule 11 are processed according to the sequence indicated below andillustrated in FIG. 4:

-   -   l) The Interface Managing Module 13A analyses the screen views        and sends 40 the information relating to the screen views and to        the interactors in the current user interface to the Coordinate        Mapping Module 12A.    -   m) The Coordinate Mapping Module 12A carries out new mapping of        the coordinates relating to the screen views and to the        interactors and carries out a comparison with the data relating        to the gaze coming from the eye-tracker. Said new mapping allows        the coordinates coming from the Client Module 13 relating to the        position of the interactors in the screen views to be defined        with respect to another system of axes having different origin        than the one based on which the coordinates of the gazes coming        from the eye-tracking device are defined. Once this operation        has been carried out the comparison permits to understand which        interactor is fixed by the user.    -   n) The Interactor Managing Module 12B draws again 42 the        interactors present in the surroundings of the gazes detected by        showing them suitably (e.g. on a side panel of the specific user        interface of the program) by using heuristic techniques to        decide the order of appearance by determining which interactor        will be most probably selected. This permits to show each        interactor in “weighted” manner, from the most to the least        probable. The Interactor Managing Module 12B then waits for the        data relating to the gazes coming from the eye-tracker and for        the selection of one of the interactors in the side panel.    -   o) The Native Action Definition Module 12C defines 43 the native        action of the Operating System associated with each interactor        (i.e. events which are simulated by the Client Module 13 and        correspond to insertions of controls from the keyboard, simple        click, drag & drop, etc.) and sends it to the Native Action        Managing Module 13B.    -   p) The Native Action Managing Module 13B receives the        information relating to the native action associated with the        interactor selected and carries it out 44 as action on the        Operating System (e.g. send character, mouse movement in        specific position, etc.).

The process of mapping the coordinates again according to step m) of thesequence illustrated in FIG. 4 occurs according to the sequenceindicated below and illustrated in FIG. 5:

-   -   q) The Coordinate Translation Module 14 carries out 50 a        translation of the coordinates relating to screen views and        incoming interactors and sends these data to the Adaptive        Calibration Module 15.    -   r) The Adaptive Calibration Module 15 carries out 51 a further        re-adjustment of the coordinates, by means of geometrical        deformation of the plane obtained by comparing the information        on the interactors which the user may select and the coordinates        of the gaze coming from the eye-tracker, and sends the        information for updating the mapping to the Coordinate        Translation Module 14.

The Interface Managing Module carries out the search of the interactorsin the view screens continuously during the entire process describedabove, by means of the use of the steps described below and illustratedin FIG. 6:

-   -   s) The Interface Managing Module 13A queries 60 the API        (Application Programming Interfaces) of the accessibility        functions to track the position and the functions of the        different interactors in the page.    -   t) The Interface Managing Module 13A implements 61 an algorithm        of recursive crossing of the diagram of windows in the page        while trying to extract further information (in order to        overcome the obstacle represented by insufficient information        obtained by means of the accessibility API).    -   u) The Interface Managing Module 13A consults 62 a pre-formed        database of supported applications from which it obtains the        strategies for using various applications. The database contains        general information relating to how the various applications and        the various application programs are made and heuristically        obtains indications therefrom on how others of which nothing is        known may be made.

The method described allows, e.g., a disabled user to use a personalcomputer equipped, e.g., with an operating system and with applicationprograms such as Windows® and the Microsoft® Office® package.

The actions carried out by the user are described below in detail:

The user is arranged in front of the eye-tracker connected to a monitorin which is visualised the screen view of the operatingsystem/application wanted to be controlled by means of ocular movements.

The user fixes, e.g., the Start icon on the Windows® application barclose to which is the icon for the Word® application and the Windows®bar: the gaze moves in specific surroundings for the intrinsic featuresof the eye-tracker. Due to this and to the possible and intrinsic errorof accuracy of the eye-tracking device, what the user is fixing on andwhat his/her intention is may not be said with certainty. To obviatethis problem, all the interactors in the surrounding of the gaze (e.g.Start button, Word® program icon, Windows®) bar) are shown in a sidepanel, suitably for selection by means of ocular control (well spacedand of suitable sizes). Such interactors are detected by means ofsuitable data recovery strategies (type, position, etc.) relating to theinteractors in the screen view (accessibility API query, recursivecrossing of windows diagram, database of predefined applications) andare shown in a “weighted” manner according to the order obtained bymeans of heuristic techniques (from the most probable to the leastprobable).

The user fixes the interactor of interest on the side panel and as thebuttons are well spaced and of suitable sizes, there is no ambiguitywith respect to the user's choice. The button is therefore selected andthe consequent action is carried out. In greater detail and in referenceto accompanying FIGS. 7-10, the user, firstly, arranges him/herself infront of the eye-tracker connected to a monitor in which is visualisedthe screen view 70 of the operation system/application wanted to becontrolled by means of ocular movements (FIG. 7).

The user fixes, e.g., the Start icon on the Windows® application barclose to which is the icon for the Word® application and the Windows®bar: the gaze 71 moves in specific surroundings for the intrinsicfeatures of the eye-tracker. Due to this and to the possible andintrinsic error of accuracy of the eye-tracking device, what the user isfixing on and what his/her intention is may not be said with certainty(FIG. 7).

All the interactors in the surrounding of the gaze 71 (e.g. Startbutton, Word® icon, Windows®) bar) are shown in a side panel 72,suitably for selection by means of ocular control (well spaced and ofsuitable sizes). Such interactors are detected by means of suitable datarecovery strategies (type, position, etc.) relating to the interactorsin the screen view (accessibility API query, recursive crossing ofwindows diagram, database of predefined applications) and are shown in a“weighted” manner according to the order obtained by means of heuristictechniques (from the most probable to the least probable) (FIG. 8).

The user fixes the interactor of interest 73 on the side panel 72: asthe buttons are well spaced and of suitable sizes, there is no ambiguitywith respect to the choice of the user (FIG. 9). The button is selectedand the consequent action is carried out.

After the selection of the Start button from the interactors panel, theaction is consequently carried out (FIG. 10), or the window is opened 74relating to the request. The interactors panel 72 is emptied whilewaiting to be filled again with new interactors following the successivegazes of the user.

The invention claimed is:
 1. Method of controlling the operation of anoperating system and application programs by ocular control comprisesthe steps of: visualizing, on a data visualising means associated with adata processing means, a control user interface that allows a user tocontrol the operating system and the application programs of said dataprocessing means; detecting, by an eye-tracking device comprised in auser interfacing means associated with the data processing means,coordinates of each user's eyes gaze in a form of rough data samples;filtering the rough data samples to make the user's eyes gazecoordinates stable for providing indications on the fixations of theuser within certain surroundings; sending the filtered rough datasamples in two-dimension Cartesian coordinates of a fixed point to anOperating System and Applications Control Module; processing, by theOperating System and Applications Control Module, the two-dimensionCartesian coordinates of the fixed point to define a native action to beperformed and changes to be made on the control user interface, whereinthe Operating System and Applications Control Module controls theoperating system and the application programs and runs developingapplication graphic interfaces, wherein the application graphicinterfaces contain information about interactors present in screen viewsand perform the native action associated with the interactor fixed bythe user at that moment, wherein the processing the two-dimensionCartesian coordinates of the fixed point further comprises: analyzing,by an Interface Managing Module, information relating to the screenviews of the operating system and the application programs that the userwants to control by ocular control, wherein the Interface ManagingModule sends the information relating to the screen views and theinteractors in a current user interface to a Coordinate Mapping Module,conducting, by the Coordinate Mapping Module, a new mapping of thetwo-dimension Cartesian coordinates relating to the screen views and theinteractors based on a comparison with data relating to the gaze comingfrom the eye-tracker device, wherein the new mapping allows thetwo-dimension Cartesian coordinates coming from a Client Module relatingto a position of the interactors in the screen views to be defined withrespect to another system of axes having a different origin than the onesystem of axes based on which the two-dimension Cartesian coordinates ofthe gazes coming from the eye-tracking device are defined, wherein theClient Module defines the position and the function of the interactorsin the screen view, comparing, by an Interactor Managing Module,incoming user eye gazes to define which of the interactors are beingfixated on by the user and present for display the interactors on thecontrol user interface, wherein the Interactor Managing Module drawsagain the interactors present in the surroundings of the detected gazesby presenting the interactors suitably on a predetermined portion of thecontrol user interface by using heuristic techniques to decide the orderof appearance and determine which of the interactors will most likely beselected, wherein a second set of one or more of the interactors, upondefining the one or more of the interactors, are generated and displayedat the predetermined portion of the control user interface, wherein eachof the second set of one or more of the interactors comprises a set ofinstructions defining the native action to control the operating systemand the application programs, wherein the Interactor Managing Modulewaits for the data relating to the user's eyes gazes coming from theeye-tracker device and selection of one of the interactors presented onthe side panel of the control user interface defining, by a NativeAction Definition Module, the native action associated with each of theinteractors of the operating system, wherein the Native ActionDefinition Module sends the native action associated with each of theinteractors of the operating system to the Client Module for successiveprocessing availability, wherein the native action definitioncorresponds to control events originating from a user interface deviceincluding at least one of a keyboard, a mouse click and a drag-and-dropoperation, wherein the Native Action Definition Module sends the nativeaction definition associated with each of the interactor of theoperating system to the Native Action Managing Module, receiving, by theNative Action Managing Module, information relating to the native actionassociated with the selected interactor, and performing the nativeaction associated with the selected interactor on the operating systemto modify the control user interface according to an occurred action:and repeating the steps of the detecting step, filtering step, sendingstep and processing step until the user exits the application programcurrently being used.
 2. The method according to claim 1, wherein thestep of filtering rough data samples comprises the steps of: performinga statistical criteria pre-filtering of the rough data samples to detectand eliminate non-valid rough data samples; combining the coordinates ofthe gaze of the right eye and of the left eye to determine a probablepoint of the fixed point by the user; calculating an average and astandard deviation based on a priori number of samples; defining one ormore evaluation tolerances; and discriminating acceptable data withrespect to refected data based on the calculated average and standarddeviation and the defined evaluation tolerances.
 3. The method accordingto claim 1, wherein the step of conducting of a new mapping of the saidcoordinates comprises the steps of: performing, by a CoordinateTranslation Module, a translation of the coordinates relating to thescreen views and incoming interactors, wherein the CoordinateTranslation Module sends the translation of the coordinates relating tothe screen views and the incoming interactors to an Adaptive CalibrationModule; performing, by the Adaptive Calibration Module, a readjustmentof the coordinates by geometrical deformation of the plane obtained bycomparing the information on the interactors which the user may selectand the coordinates of the gaze coming from the eye-tracker device,wherein the Adaptive Calibration Module sends the coordinatesreadjustment information for updating the mapping to the CoordinateTranslation Module.
 4. The method according to claim 1, wherein the stepof analyzing information relating to the screen views includesperforming a continuous search for the interactors that are present inthe screen views on the display comprises the steps of: querying, by theInterface managing Module, an Application Programming Interfaces (API)of the accessibility functions to track positions and functions ofdifferent interactors present in the screen views; implementing, by theInterface Managing Module, an algorithm of recursive crossing of awindow diagram in the screen views while trying to extract furtherinformation in order to overcome the obstacle represented by possiblyinsufficient information obtained by the API of accessibility; querying,by the Interface Managing Module, a preformed database of supported saidapplication programs to obtain strategies for using the variousapplication programs, wherein said database contains general informationrelating to how the various application programs are made.
 5. Anapparatus of controlling the operation of at least one of an operatingsystem and application programs on a data processor by ocular controlcomprising: a display; an eye-tracking device to interpret a directionof gaze of a user; and a data processor communicably coupled to thedisplay and eye-tracking device, and including a processor coupled to amemory device, said memory device storing a control module and said atleast one of the operating system program and application programs, saidcontrol module when executed by the processor being operable to:visualize, on the display, a control user interface that allows the userto visually control the at least one of the operating system and theapplication programs of said data processor; detect, by the eye-trackingdevice coupled to said data processor, a plurality of rough data samplesof coordinates associated with a user's gaze at the display, whereinsaid rough data samples of coordinates includes coordinates of each eyeof the user's gaze at the display; filter the rough data samples toprovide indication of fixation of the user by monitoring a predeterminednumber of gazes by the user over a predetermined time over a userselected area on the display; send the filtered rough data samples astwo-dimension Cartesian coordinates that represent a fixed point of thegaze to an Operating System and Application Control Module; process, bythe Operating System and Application Control Module, the filtered roughdata samples as two-dimension Cartesian coordinates to define one ormore interactors associated with the fixed point of gaze by the user,wherein the process the filtered rough data samples as two-dimensionCartesian coordinates defining one or more interactors associated withthe fixed point of gaze by the user further comprises: analyze, by anInterface Managing Module, information relating to screen views of theoperating system and the application programs that the user wants tocontrol by ocular control, wherein the Interface Managing Module sendsthe information relating to the screen views and the interactors in acurrent user interface to a Coordinate Mapping Module, conduct, by theCoordinate Mapping Module, a new mapping of the coordinates relating tothe screen views and the interactors based on a comparison with datarelating to the gaze coming from the eye-tracking device, wherein thenew mapping allows the coordinates coming from a Client Module relatingto the position of the interactors in the screen views to be definedwith respect to another system of axes having different origin than theone system based on which the coordinates of the gazes coming from theeye-tracking device are defined, wherein the Client Module defines theposition and the function of the interactors in the screen views,compare, by the Interactor Managing Module, incoming user eye gazes todefine which of the interactors are being fixated on by the user andpresent for display the interactors on the control user interface,wherein the Interactor Managing Module draws again the interactorspresent in the surroundings of the detected gazes by presenting theinteractors suitably on a predetermined portion of the control userinterface by using heuristic techniques to decide the order ofappearance and determine which said interactor will most probably beselected, wherein a second set of one or more of the interactors, upondefining the one or more of the interactors, are generated and displayedat the predetermined portion of the control user interface, wherein eachof the second set of one or more of the interactors comprises a set ofinstructions defining native action to control the operating system andthe application programs, wherein the Interactor Managing Module waitsfor data relating to the gazes coming from the eye-tracking device andselection of one of the interactors presented on the side panel of thecontrol user interface, define, by a Native Action Definition Module,the native action associated with each said interactors of the operatingsystem, wherein the Native Action Definition Module sends the nativeaction associated with each of the interactors of the operating systemto a Client Module for successive processing availability, wherein thenative action definition corresponds to control events originating froma user interface device including at least on of a keyboard, a mouseclick and a drag-and-drop operation, wherein the Native ActionDefinition Module sends the native action definition associated witheach said interactor of the operating system to a Native Action ManagingModule, receive, by the Native Action Managing Module, informationrelating to the native action associated with the selected interactorand perform the native action associated with the selected interactor onthe operating system to modify the control user interface according toan occurred action: and repeat the steps of the detect step, filterstep, send step and process step until the user exits the applicationprogram currently being used.
 6. The apparatus according to claim 5,wherein said data processor is a personal computer.
 7. The methodaccording to claim 1, wherein a second set of one or more interactorsare generated and displayed at the predetermined portion comprising thesteps of: determining coordinate mapping of the interactors present atthe fixed point of gaze by the user: mapping new coordinates fordisplaying the second set of one or more interactors on the display atthe predetermined portion; and correlating the functional actionsassociated with each of the second set of interactors.
 8. The methodaccording to claim 1, wherein the a second set of one or moreinteractors are generated and displayed at the predetermined portionfurther comprises providing a predetermined spacing between two or moreof the second set of interactors at the predetermined portion.
 9. Themethod according to claim 1, wherein the a second set of one or moreinteractors are generated and displayed at the predetermined portionfurther comprises enlarging the one or more of the second set of theinteractors at the predetermined portion.
 10. The apparatus according toclaim 5, wherein said control module when executed by the processorbeing operable to: filter the rough data samples comprises the steps of:performing a statistical criteria pre-filtering of the rough datasamples to detect and eliminate non-valid rough data samples; combiningthe coordinates of the gaze of the right eye and of the left eye todetermine a probable point of the fixed point by the user; calculatingan average and a standard deviation based on a priori number of samples;defining one or more an evaluation tolerances; and discriminatingacceptable data with respect to rejected data based on the calculatedaverage and standard deviation and the defined evaluation tolerances.11. The apparatus according to claim 5, wherein said control module whenexecuted by the processor being operable to: conduct a new mapping ofthe coordinates comprises the steps of: performing, by a CoordinateTranslation Module, a translation of the coordinates relating to thescreen views and incoming interactors, wherein the CoordinateTranslation Module sends the translation of the coordinates relating tothe screen views and the incoming interactors to an Adaptive CalibrationModule; performing, by the Adaptive Calibration Module, a readjustmentof the coordinates by geometrical deformation of the plane obtained bycomparing the information on the interactors which the user may selectand the coordinates of the gaze coming from the eye-tracker device,wherein the Adaptive Calibration Module sends the coordinatesreadjustment information for updating the mapping to the CoordinateTranslation Module.
 12. The apparatus according to claim 5, wherein saidcontrol module when executed by the processor being operable to: analyzeinformation relating to the screen views includes performing acontinuous search for the interactors that are present in the screenviews on the display comprises the steps of: querying, by the Interfacemanaging Module, an Application Programming Interfaces (API) of theaccessibility functions to track positions and functions of differentinteractors present in the screen views; implementing, by the InterfaceManaging Module, an algorithm of recursive crossing of a window diagramin the screen views while trying to extract further information in orderto overcome the obstacle represented by possibly insufficientinformation obtained by the API of accessibility; querying, by theInterface Managing Module, a preformed database of supported saidapplication programs to obtain strategies for using the variousapplication programs, wherein said database contains general informationrelating to how the various application programs are made.